// Package comdto
// @Author: zhangdi
// @File: share_app
// @Version: 1.0.0
// @Date: 2023/8/2 17:35
package comdto

import "time"

// AppInfo app信息
type AppInfo struct {
	Id            uint   `gorm:"primaryKey"  json:"id,omitempty"`
	ToolName      string `gorm:"not null" json:"tool_name,omitempty"`
	ToolIcon      string `gorm:"not null" json:"tool_icon,omitempty"`
	ToolIconColor string `gorm:"not null" json:"tool_icon_color,omitempty"`
	Prompt        string `gorm:"not null" json:"prompt,omitempty"`
	InputCount    uint   `gorm:"not null" json:"input_count,omitempty"`
	//使用数量
	UseNums uint `gorm:"not null;default:0" json:"use_nums"`
	//收藏数量-占位
	StartNums uint `gorm:"not null;default:0" json:"start_nums,omitempty"`
	//分享人
	ShareUserId uint `gorm:"not null" json:"share_user_id"`
	//分享人
	ShareUserName string ` json:"share_user_name"`
	//标签列表，逗号分割
	TagIds string `gorm:"not null" json:"tag_ids"`
	//处理完成时操作
	CompleteDo string    `gorm:" null" json:"complete_do,omitempty"`
	CreatedAt  time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at" `
	UpdatedAt  time.Time ` gorm:"default:CURRENT_TIMESTAMP" json:"updated_at"`
}

// RequestAppAdd RequestAppAdd 用户前端提交app
type RequestAppAdd struct {
	ToolName      string `gorm:"not null" json:"tool_name,omitempty"`
	ToolIcon      string `gorm:"not null" json:"tool_icon,omitempty"`
	ToolIconColor string `gorm:"not null" json:"tool_icon_color,omitempty"`
	Prompt        string `gorm:"not null" json:"prompt,omitempty"`
	InputCount    uint   `gorm:"not null" json:"input_count,omitempty"`
	//分享状态
	ShareStatus uint `gorm:"not null;default:1" json:"share_status"`
	//分享人
	ShareUserId uint `gorm:"not null" json:"share_user_id"`
	//标签列表，逗号分割
	TagIds string `gorm:"not null" json:"tag_ids"`
	//处理完成时操作
	CompleteDo string `gorm:" null" json:"complete_do,omitempty"`
}

type RequestAppUpdate struct {
	AppId uint `json:"app_id"`
	//使用数量
	UseNums uint `gorm:"not null;default:0" json:"use_nums,omitempty" json:"use_nums,omitempty"`
	//收藏数量-占位
	StartNums uint `gorm:"not null;default:0" json:"start_nums,omitempty" json:"start_nums,omitempty"`
}

type RequestAppGetList struct {
	Extra *FindExtra `json:"extra"`
	//标签id 传入形如：1,2,   注意需要逗号做结尾，数据中也会以这个形式做保存
	TagId      string `json:"tag_id"`
	SearchText string
}
